Execute `cargo --list` only when needed
authorcritiqjo <john.ch.fr@gmail.com>
Tue, 14 Apr 2015 18:35:12 +0000 (00:05 +0530)
committercritiqjo <john.ch.fr@gmail.com>
Tue, 14 Apr 2015 18:35:12 +0000 (00:05 +0530)
src/etc/cargo.bashcomp.sh

index f4b6d6ec3dfff4dacfa22af36cd0d397ef0762ae..e6f0086aa6f96972f5f6eb9fd832a66423a2ecff 100644 (file)
@@ -1,15 +1,13 @@
 command -v cargo >/dev/null 2>&1 &&
 _cargo()
 {
-       local cur prev words cword cmd commands
+       local cur prev words cword cmd
        _init_completion || return
 
        COMPREPLY=()
 
        cmd=${words[1]}
 
-       commands=$(cargo --list | tail -n +2)
-
        opt_common='-h --help -v --verbose'
        opt_pkg='-p --package'
        opt_feat='--features --no-default-features'
@@ -43,7 +41,7 @@ _cargo()
                if [[ "$cur" == -* ]]; then
                        COMPREPLY=( $( compgen -W "${opts[_nocmd]}" -- "$cur" ) )
                else
-                       COMPREPLY=( $( compgen -W "$commands" -- "$cur" ) )
+                       COMPREPLY=( $( compgen -W "$(cargo --list | tail -n +2)" -- "$cur" ) )
                fi
        elif [[ $cword -gt 2 && "$prev" = "$opt_mani" ]]; then
                _filedir